<?php
/**
 * @version 0.1
 * @author Ian den Hamer
 * 
 */
require_once '../defs/constants.php';
require_once FILE_DB_DATABASE;

class Dbtoolboxtype extends Database{
    
    private $toolboxtype_id = '';
    private $beschrijving = '';
    
    public function DbToolboxtype($id= ''){
        if (DEBUG_LVL & DEBUG_LVL_CLASS) echo __FILE__ . __LINE__ .': ' . __CLASS__ .'<BR/>';
        
        parent::Database();
        // If Observatie id get versie data
        if (!empty ($id)){
            
            $this->DbGetToolboxtypeData($id);
        }
        else {
            $this->reset();
        }
    }    

    //opslaan van gegevens
    public function save ($beschrijving){
        
        if (!empty ($beschrijving)){
        
            $query = "INSERT INTO toolboxtype (beschrijving) VALUES ('" . mysql_real_escape_string($beschrijving) . "') ";

            if (DEBUG_LVL & DEBUG_LVL_QUERY)  echo __FILE__ . ' ' . __LINE__ .': ' .$query . '<br />';

            if (!$this->db_mysql_query($query)){
                return FALSE;
            }
            // Udate class attr

            $this->toolboxtype_id = mysql_insert_id();
            $this->beschrijving = $beschrijving;
        }
        else {
            return FALSE;
        }
        
    }
    
    /**
     *
     * @param type $beschrijving
     * @return type 
     */
    public function updateBeschrijving ($beschrijving){
        
                if (!empty ($beschrijving)){
            
            $query = "UPDATE toolboxtype SET beschrijving = '" . mysql_real_escape_string($beschrijving) . "' WHERE toolboxtype . toolboxtype_id ='" . mysql_real_escape_string($this->toolboxtype_id) . "'";
            
            if (!$this->db_mysql_query($query)){
                return FALSE;
            }
            
            if (DEBUG_LVL & DEBUG_LVL_QUERY)  echo __FILE__ . ' ' . __LINE__ .': ' .$query . '<br />';
            // Update class attributes
            $this->beschrijving = $beschrijving;
            //$this->toolboxtype_id = $toolboxtype_id;
            
            return TRUE;
        }
        else {
            return FALSE;
        }
        
    }
    
    //deleten van gegevens
    public function delete(){
        
        $query = "DELETE FROM cofely . toolboxtype WHERE toolboxtype . toolboxtype_id = '" . mysql_real_escape_string($this->toolboxtype_id) . "'  LIMIT 1 ";
        if (!$this->db_mysql_query($query)){
                return FALSE;
            }

        if (DEBUG_LVL & DEBUG_LVL_QUERY)  echo __FILE__ . ' ' . __LINE__ .': ' .$query . '<br />';
        
        $this->reset();
        
    }
    
        public function getToolboxtypeId(){
        
        return $this->toolboxtype_id;
        
    }
    
    public function getBeschrijving(){
        
        return $this->beschrijving;
        
    }
    
        private function DbGetToolboxtypeData($id){
        
        $query = mysql_query("SELECT * FROM toolboxtype WHERE toolboxtype_id = '" . mysql_real_escape_string($id) . "' LIMIT 1 ");
        if (!$res = mysql_fetch_object($query)){
            
            $this->reset();
            return FALSE;
        }
        
        $this->actie_id = $id;
        $this->beschrijving = $res->beschrijving;
        
        if (DEBUG_LVL & DEBUG_LVL_QUERY) echo __FILE__ . ' ' . __LINE__ .': ' .$query . '<br />';
    }
        
    private function reset(){
        
        $this->toolboxtype_id = '';
        $this->beschrijving = '';
    }


    public function __destruct() {
        parent::__destruct();
    }
}

class TestDbToolboxtype{
    public function TestDbToolboxtype(){
        
        $test = new DbToolboxtype;
        $test->save('Dit is de toolboxbeschrijving');
        echo '<hr />Maak een nieuwe beschrijving';
        echo "<pre>";
        var_dump($test);
        echo "</pre>";
        echo 'Toolboxtype ID: ' . $test->getToolboxtypeId() . '<br />';

        echo 'Beschrijving: ' . $test->getBeschrijving() . '<br />';

        echo '<hr />Update beschrijving';
        $test->updateBeschrijving('Beschrijving is geupdate');
        echo "<pre>";
        var_dump($test);
        echo "</pre>";
        echo 'Toolboxtype ID: ' . $test->getToolboxtypeId() . '<br />';

        echo 'Beschrijving: ' . $test->getBeschrijving() . '<br />';
 
        echo '<hr />Nieuwe beschrijving';
        $test->save('Nieuwe beschrijving');
        echo "<pre>";
        var_dump($test);
        echo "</pre>";       
        echo 'Toolboxtype ID: ' . $test->getToolboxtypeId() . '<br />';

        echo 'Beschrijving: ' . $test->getBeschrijving() . '<br />';
       
        // test nieuwe object 
        $test2 = new DbToolboxtype();
        // selecteer id bij beschrijving
        
        $test->delete();
        echo "<pre>";
        var_dump($test);
        echo "</pre>"; 
        echo 'Toolboxtype ID: ' . $test->getToolboxtypeId() . '<br />';

        echo 'Beschrijving: ' . $test->getBeschrijving() . '<br />';
   die ( __FILE__.__FILE__);        
    }
}
 ?>